// Copyright (C) 2020-2024 Stacks Open Internet Foundation
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

use std::time::Duration;

use clarity::vm::types::QualifiedContractIdentifier;
use libsigner::{SignerSession, StackerDBSession};

/// Create a new stacker db session
pub fn stackerdb_session(
    host: &str,
    contract: QualifiedContractIdentifier,
    stackerdb_timeout: Duration,
) -> StackerDBSession {
    let mut session = StackerDBSession::new(host, contract.clone(), stackerdb_timeout);
    session.connect(host.to_string(), contract).unwrap();
    session
}
